names=["ljh","fyq","zjm","lxt"]
stu_id=[10001,10002,10003,10004,10008,10001,10009,10010,10001]

#列表的私有方法
#1.增加的方法z
##1.1增加append（） 增加在list末尾
names.append(1)
print(names)

##1.2插入insert增加指定元素在特定位置
names.insert(1,"dlrb")
print(names)

##2.删除remove和pop
##2.1一般情况下 使用remove先用in做判断
if 1 in names:
    names.remove(1)


##2.2pop（）删除位置为1的这个元素
names.pop(1)
print("pop()方法后的names:",names)

##3.index()索引 查看该元素如10001在stu_id第一个出现的位置索引
print(stu_id.index(10001))


##4.clear()清除所有数据
names.clear()
print("清除names列表后的值:",names)


##5.查看列表元素出现的个数
print("count方法的结果:",stu_id.count(10001))
print(names)

##6.extend()是给指定的list进行扩充
names.extend(stu_id)
print(names)






#列表的其他方法
##1.len()查看list的长度
print("names的长度/names的列表元素个数:",len(names))
##2. in 查看元素是否存在list当中,结果为布尔值，False/True,
##  一般在操作list的修改和删除时会先判断
print("jiahui" in names)


#列表的高级方法
stu_id = [10001,10002,10003,10004,10008,10001,10009,10010,10001]
#1.copy很重要
# 赋值是真正的复制么？ 赋值(=) <=> copy? 不等价
stu_id_matedata = stu_id
print("stu_id:",stu_id,'\n','stu_id_matedata:',stu_id_matedata)
#实验1.赋值
stu_id.pop(1)
print("stu_id:",stu_id,'\n','stu_id_matedata:',stu_id_matedata)

# 实验2 copy()
stu_id_matedata = stu_id.copy()
stu_id.pop(1)
print("stu_id:",stu_id,'\n','stu_id_matedata:',stu_id_matedata)

# 实验3 切片实现复制
stu_id_matedata = stu_id[:]
stu_id.pop(1)
print("stu_id:",stu_id,'\n','stu_id_matedata:',stu_id_matedata)

#列表的高级方法.枚举
stu_id = [10001,10002,10003,10004,10008,10001,10009,10010,10001]
#如何取出所有位置10001的index
for i in stu_id:
    if i == 10001:
    print()

#一般方法
# 枚举:因为list其实不仅有values值，还有index索引，但for循环主要循环遍历其值，不遍历索引
# 因此，有了枚举的方法，同时遍历两者
# enumerate()
pop_values_list = []  # append方法经常用于新建列表
for index,item in enumerate(stu_id):
    # print(index,item)
    if item == 10001:
        print(index,item)
        pop_values_list.append(index)
print("我们想要删除pop()的值：",pop_values_list)





#5.list to str
new_phraes = ''.join(plist)
print(list)
print(new_phrase)
print(plist)


#方法二：使用切片的方法实现
phrase = "Don't panic!"
plist = list(phrase)  #list() 可以将 str to(转) list
print(phrase)
print(plist)

on_str = ''.join(plist[1:3])
print(on_str)
new_phrase = on_str+''.join (plist[5]+plist[4]+plist[7]+plist[6])
print(plist)
print(new_phrase)